The present application relates generally to an improved data processing apparatus and method and more specifically to mechanisms for accessing multiple pages in a word-line of a non-volatile memory simultaneously.
Flash memory is an electronic non-volatile computer storage medium that can be electrically erased and reprogrammed. Flash memory was developed from electrically erasable programmable read only memory (EEPROM) devices. There are two primary types of flash memory, NAND and NOR type flash memories, named after the logic gates that the cells of the flash memory emulate. Where EEPROMs had to be completely erased before being re-written, NAND type flash memories may be programmed (written) and read in blocks (or pages) which are generally much smaller than the entire device. NAND type flash memories are used in main memories, memory cards, Universal Serial Bus (USB) flash drives, solid-state drives (SSDs), and the like. NOR type flash memories are generally used as replacements for older EEPROMs and as an alternative to read only memories (ROMs) in some applications.
Flash memory devices store data in individual memory cells which are made up of floating-gate transistors. Traditionally, cells of a flash memory device had two possible states, e.g., high or low, programmed or erased, 1 or 0, or the like, and thus, could only store a single bit per cell. These are referred to as single-level cell (SLC) flash memories. SLC flash memory has the advantage of relatively fast write speeds, low power consumption, and high cell endurance. However, because SLC flash memories only store a single bit per cell, SLC flash memories cost more per megabyte of storage to manufacture. SLC flash memories are used in high-performance memory cards due to their relative faster transfer speeds and longer life.
Multi-level cell (MLC) Slash memories are memory devices capable of storing more than a single bit of information in each cell. In MLC flash memories, multiple levels are provided per cell to allow more bits to be stored using the same number of transistors. Most MLC flash memories, contrary to the two states permitted in SLC flash memories, provide four possible states per cell so that they may store two bits of information per cell. This reduces the amount of margin separating the states and results in a higher possibility of errors. However, the cost of MLC flash memories is lower since a lower number of hardware elements are required per megabyte of storage capacity. Stated another way, a MLC flash memory stores twice as much data as a SLC flash memory and thus, a lower number is necessary for most applications.
Further, categories of MLC flash memories have been developed that support eight possible states per cell, thereby allowing each cell to store up to three bits of information per cell and sixteen 16 possible states per cell, thereby allowing each cell to store up to four bits of information per cell. Flash memories that utilize such cells are referred to as triple-level cell (TLC) and quad-level cell (QLC) flash memories, respectively.